{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "welsh-reality",
   "metadata": {},
   "source": [
    "### 1. 安装Anaconda"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "accepted-combat",
   "metadata": {},
   "source": [
    "### 2. 验证安装结果"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "pacific-thirty",
   "metadata": {},
   "source": [
    "![](images/a.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "amber-refund",
   "metadata": {},
   "source": [
    "### conda常用命令\n",
    "* conda -V  查看anaconda版本号\n",
    "* conda -h  查看帮助信息\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "prompt-grant",
   "metadata": {},
   "source": [
    "![](images/Snipaste_2021-09-09_10-31-04.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "turned-pollution",
   "metadata": {},
   "source": [
    "* conda  env  list\t\t\t\t\t    查看虚拟环境列表\n",
    "* conda  create  -n  your_env_name\t \t    创建虚拟环境\n",
    "* conda  create  -n  your_env_name  python=3.6\t    创建虚拟环境并指定python版本\n",
    "* activate  your_env_name\t\t\t\t    进入某个虚拟环境\n",
    "* conda deactivate \t\t\t\t\t\t    退出虚拟环境\n",
    "* conda  install  package_name\t\t\t    安装指定的包\n",
    "* conda  uninstall  package_name\t\t\t    删除指定的包\n",
    "* conda  remove  -n  your_env_name  --all\t    删除某个环境\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "necessary-maximum",
   "metadata": {},
   "source": [
    "![](images/图片1.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "brief-tomato",
   "metadata": {},
   "source": [
    "![](images/Snipaste_2021-09-09_10-43-16.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "narrow-tunnel",
   "metadata": {},
   "source": [
    "conda install pandas  # 安装pandas工具包\n",
    "\n",
    "conda install numpy    # 安装过程会提示我们 y/n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "south-lingerie",
   "metadata": {},
   "source": [
    "### 如何测试一个包是否安装成功？"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "satisfactory-demographic",
   "metadata": {},
   "source": [
    "![](images/Snipaste_2021-09-09_11-03-19.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bronze-poison",
   "metadata": {},
   "source": [
    "### 启用jupyter notebook"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "constant-drawing",
   "metadata": {},
   "source": [
    "![](images/Snipaste_2021-09-09_11-34-59.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "binding-validation",
   "metadata": {},
   "source": [
    "### jupyter 快捷键"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "julian-electricity",
   "metadata": {},
   "source": [
    "* shift+enter 执行本单元  选中下一个单元\n",
    "* alt+enter 执行本单元，在下方插入新的单元\n",
    "* ctrl+enter 执行本单元\n",
    "* Y 切换回代码模式\n",
    "* M 切换到markdown格式\n",
    "* A 在上方插入单元格\n",
    "* B 在下方插入单元格\n",
    "* dd 删除当前单元格"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "going-router",
   "metadata": {},
   "source": [
    "> 在编辑模式和预览模式（命令模式）下进行切换<br>\n",
    "> 在编辑模式下按esc键退出到 命令模式 <br>\n",
    "> 在命令模式下按enter键 进入到编辑模式"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "excited-excuse",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "dried-basket",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1., 0., 0., 0.],\n",
       "       [0., 1., 0., 0.],\n",
       "       [0., 0., 1., 0.],\n",
       "       [0., 0., 0., 1.]])"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.eye(4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "soviet-warren",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x9cd7bb0>]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "x = [1, 2, 3, 4, 5]\n",
    "y = [2.3, 3.4, 1.2, 6.6, 7.0]\n",
    "plt.plot(x, y, color='r', marker='+')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "saving-floor",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "official-entertainment",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     0    1    2    3\n",
       "0  1.0  0.0  0.0  0.0\n",
       "1  0.0  1.0  0.0  0.0\n",
       "2  0.0  0.0  1.0  0.0\n",
       "3  0.0  0.0  0.0  1.0"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.DataFrame(np.eye(4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "rolled-thriller",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1., 0., 0., 0.],\n",
       "       [0., 1., 0., 0.],\n",
       "       [0., 0., 1., 0.],\n",
       "       [0., 0., 0., 1.]])"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.eye(4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "lonely-developer",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn import linear_model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "challenging-railway",
   "metadata": {},
   "outputs": [],
   "source": [
    "reg = linear_model.LinearRegression()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "functional-titanium",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearRegression()"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg.fit([[0, 0], [1, 1], [2, 2]], [0, 1, 2])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "billion-radical",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.5, 0.5])"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg.coef_"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "secret-deputy",
   "metadata": {},
   "source": [
    "y = w x + b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "employed-syndrome",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0xd18a850>]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot((0,1,2),(0,1,2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "promising-processing",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
